package com.celesea.workflow.core.service;

import com.celesea.framework.service.BaseService;
import com.celesea.framework.util.Page;
import com.celesea.framework.util.PageData;
import com.celesea.framework.util.Sort;
import com.celesea.workflow.core.entity.Workflow;
import com.celesea.workflow.core.entity.WorkflowInstance;
import com.celesea.workflow.core.vo.BaseFlowVo;
import com.celesea.workflow.core.vo.WorkflowFilter;

/**
 * @author JackYuan
 * @create 2017-11-28 16:02
 */
public interface WorkflowInstanceService extends BaseService<WorkflowInstance> {

    WorkflowInstance createWokflowInstance(WorkflowInstance instance);

    WorkflowInstance updateWokflowInstance(BaseFlowVo flow, Workflow entity);

    PageData<WorkflowInstance> selectWorkflow(WorkflowFilter filter, Page page, Sort sort);
}
